home *** CD-ROM | disk | FTP | other *** search
- Date: Thu, 9 Jul 1998 19:31:52 +0200
- From: Michal Zalewski <lcamtuf@IDS.PL>
- Subject: Sendmail up to 8.9.1 - mail.local instroduces new class of bugs
-
- Local, setuid mail delivery program included in recent packages -
- mail.local - introduces new class of local bugs, from DoS attacks to
- security compromises.
-
- For example, it creates unique temporary file in /tmp at UID 0 (no
- comments), opens and unlinks it. Then blindly writes every line read from
- fd 0 to this file. So, to eat whole disk space, ignoring sendmail.cf
- settings (because mail.local won't parse it at all), attacker should run
- mail.local, caught tmp file creation, hard-link it to /tmp/other_file,
- then redirect a lot of text junk to it's fd 0.
-
- But that's not all. Using 'mail.local -f sender recipient', local users
- are able to put **anything** to mailboxes of other users. This cute
- program simply allows creating and writing to files /var/mail with
- virtually no restrictions. Aliases are not expanded, so attacker can even
- *create* and fill with hundred megabytes of junk mailboxes for accounts
- like 'nobody'. It won't even put basical auth information, except 'From
- xxx' line at the beginning... But it can be altered with '-f' switch :-0
-
- Arbitrary headers are allowed, opening potential security compromises with
- dumb mail clients. Additionally, by providing specific data as 'sender',
- mailbox may be left in unusable state - eg. pine won't open it, saying
- it's 'Not in mailbox format'.
-
- Fix:
-
- It's stupid to make any part of sendmail package setuid. It's really
- possible to make sendmail work with no setuid nor setgid, by arranging
- proper communication with sendmail daemon, if running. Also, I suggest to
- be at least careful with new features of recent Sendmail version :-)
-
- _______________________________________________________________________
- Michal Zalewski [lcamtuf@boss.staszic.waw.pl] <= finger for pub PGP key
- Iterowac jest rzecza ludzka, wykonywac rekursywnie - boska [P. Deutsch]
- [echo "\$0&\$0">_;chmod +x _;./_] <=------=> [tel +48 (0) 22 813 25 86]
-